package service

import (
	"context"
	"github.com/star-find-cloud/star-chat/rule/domain"
)

type RuleService interface {
	Create(ctx context.Context, rule *domain.Rule) (int64, error)

	Get(ctx context.Context, id int64) (*domain.Rule, error)

	GetAll(ctx context.Context) ([]*domain.Rule, error)

	Update(ctx context.Context, rule *domain.Rule) error

	Enable(ctx context.Context, id int64) error

	Disable(ctx context.Context, id int64) error

	Delete(ctx context.Context, id int64) error

	IsExist(ctx context.Context, id int64) (bool, error)
}
